c语言问题[求助]

来源:百度知道 编辑:UC知道 时间:2024/05/04 09:28:29
说明原因!!!

21) 执行下面的C程序段后,输出结果是( )。(选择一项)
int a=5;
while( a--);
printf( "%d", a);

a) 54321
b) 4321
c) 0
d) -1

22) 以下正确的叙述有( )。(选择两项)
a) 在C程序中,每行中只能写一条语句
b) 在C程序中,Abc和abc是2个相同的变量
c) 若a和b 的类型相同,在计算了赋值表达式a=b后b的值将放入a,而b的值不变
d) 若a是float型变量,a=10是合法的,因为float型变量允许存放整型数

33) 设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )。
x=y=z=1;
t=++x||--y&&++z;(选择一项)
a) 不定值
b) 2
c) 1
d) 0

48) 下面说法正确的是( )。(选择三项)
1)C语言中for 循环可以重复执行操作
2)do 操作至少要执行一次
3)exit()函数会立即使程序结束

a) 1)和2)都是错误的
b) 1)是正确的
c) 2)是正确的
d) 3)是正确的

50) 分析下面的C语言程序:
void main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是( )。(选择一项)
a) 2,1
b) 3,2
c) 4,3
d) 2,-1

70) 任何整数与其本身进行“异或”运算的结果为( )。(选择一项)
a) 0
b) 本身
c) 1
d) –1

21 D
22 C D
33 B
48 B C D
50 A
70 A 异或 是对二进制位运算而言的,同位相同为0(同位相同的)即两个1为0,如果,一个位为0,另一个位为1,则这位为1。
87 在C程序的算术运算符中,取模(%)的优先级最高 错的

看不东亚

21 D
22 C D
33 C 是逻辑运算,1||0&&2=1;
48 B C D
50 A
70 A 异或是二进制运算,相同的两位异或为0,不同的为1,所以一个数和本身异或必然是0,这是汇编语言清0的一个重要方法。
87 A ()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员) 的优先级最高。